package com.mars.boss.manager.service;

import java.util.List;

import com.mars.boss.manager.entity.Menu;
import com.mars.boss.manager.exception.MenuBizException;
import com.mars.common.service.support.IService;

/**
 * 菜单Dubbo服务接口
 * 
 * <p>标题: MenuService</p>
 * <p>描述: </p>
 * <p>公司: www.yhaoquan.com</p> 
 * @作者： 杨浩泉
 * @日期：2016年11月18日
 * @版本：1.0
 */
public interface MenuService extends IService<Menu, Long> {

	/**
	 * 加载所有菜单分类（一级菜单）
	 * 
	 * @return
	 */
	List<Menu> getMenuCategory() throws MenuBizException;

	/**
	 * 根据菜单分类ID加载分类子菜单
	 * 
	 * @param id
	 * @return
	 */
	List<Menu> getMenuByParentId(Long id) throws MenuBizException;
	
	/**
	 * 加载所有菜单
	 * 
	 * @param id
	 * @return
	 */
	List<Menu> getAllMenus() throws MenuBizException;
	
	/**
	 * 加载所有URL字段不为空的记录
	 * 
	 * @param id
	 * @return
	 */
	Menu getMenuByURL(String url) throws MenuBizException;

	/**
	 * 修改默认选中
	 * @param id
	 * @return
	 */
	int updateChooseDefault(Long id) ;
	
	/**
	 * 清楚缓存
	 * @return
	 */
	public boolean clearCache() ;
	
}
